When transmitting data via a channel which is subject to interference, attempts are made to achieve the highest possible degree of accuracy for the received data in the receiver with as little complexity as possible. There are two complementary approaches to achieving this goal: a first approach involves using suitable measures such as channel coding and interleaving to make the signal which is to be transmitted so transmittable that there is a high probability of success in decoding the signal even when a channel is subject to interference. With this approach, prior to transmission of the signal, the signal has redundancy added to it which allows low-error decoding of the received signal in the receiver. The second approach involves checking the received data for accuracy in the receiver and, if transmission errors have arisen, requesting a repeat transmission of the data. The repeat request for incorrectly transmitted data packets is known as the ARQ (Automatic Repeat Request) method.
Hybrid ARQ methods, called H-ARQ, have been found to be particularly effective. In H-ARQ methods, data blocks whose transmission has failed are not rejected but rather are buffer-stored in the receiver and are combined in appropriate fashion with the data block version which arrives in the receiver when the data block is next transmitted. H-ARQ methods make use of the fact that even data blocks which have been transmitted incorrectly can still contribute to obtaining information during the decoding.
In H-ARQ methods, it is already known practice to make a repeat transmission of a data block more immune to interference than the first transmission. This is achieved by adding more or a different type of redundancy during the repeat transmission of a data block than during the first transmission of this data block. The aim is to execute the repeat transmission such that decoding is possible in combination with previously transmitted data block versions. This measure is referred to as IR (Incremental Redundancy). In practice, a different modulation or channel coding scheme is used and/or a different puncturing pattern is used during the repeat transmission of a data block than during the first transmission of the data block.
A drawback of H-ARQ methods is that erroneous data block versions need to be buffer-stored in the receiver until the data block forming the basis of the erroneous data block versions at the transmitter end is successfully decoded. This requires a memory space involvement in the receiver.
The article “Datenbeschleuniger für Mobilfunk-Netze” [data accelerator for mobile radio networks], by R. Zarits, Funkschau No. 46, 10/2001, pages 46 to 48, describes the use of IR in combination with the EGPRS (Enhanced General Packet Radio Services) standard. The EGPRS standard is based on EDGE (Enhanced Data Rates for GSM Evolution)—a further development of the GSM (Global System for Mobile Communication) standard—and GPRS (General Packet Radio Services), the packet-oriented transmission of useful data in GSM. EGPRS uses nine different modulation and channel coding schemes (referred to as MSC-1 to MCS-9) and three or two puncturing patterns (referred to as P1 to P3). Puncturing patterns e.g. for MCS-9 (P1, P2, P3) reduce the data rate by the factor 3, i.e. only one bit out of three bits prior to puncturing remains after puncturing on average over time. The modulation and coding schemes MCS-1 to MCS-9 and the puncturing are described in section 6.5.5 of the standard 3GPP TS 43.064 V4.1.0 (2001-04).
For EGPRS, the following procedure explained in connection with FIG. 1 has already been proposed by ARQ: in a transmitter, FIG. 1 shows only the channel coder 1 and a puncturer 2. At the receiver end, FIG. 1 shows a depuncturer 3, an IR memory 4, a channel decoder 5 with an upstream combiner 5a, and an error detector 6. When a data block is transmitted, the data block is channel coded by the channel coder 1 and is punctured in the puncturer 2. After modulation (not shown), the channel coded, punctured data block is transmitted via the transmission channel (air interface) and is received by the receiver. The data block version arriving at the receiver is depunctured by the depuncturer 3 (i.e. the bits removed during puncturing at the transmitter end are added again as zeros) and is decoded by the channel decoder 5. If channel decoding fails, this is identified by the error detector 6. The depunctured data block version is then buffer-stored in the IR memory 4 (the appropriate instruction is given via the control connection 7), and the data block is transmitted again in line with the usual ARQ procedure. As indicated by the arrows A1, A2, a different modulation and coding scheme and a different puncturing pattern may be used during the second transmission of the data block than during the first transmission. The subsequently received second data block version is depunctured in the depuncturer 3, is combined with the depunctured first data block version in the combiner 5a, and the depunctured and combined data block version is decoded once again by the channel decoder 5. If the decoding fails again, the depunctured and combined data block version is stored in the IR memory 4 by overwriting the first data block version stored therein, and a third transmission of the data block is requested at the transmitter. The method is continued until the data block has been successfully decoded.
The method for storing depunctured data block versions which is described with reference to FIG. 1 has the advantage that relatively simple memory management is made possible, since only a single depunctured data block version (either the first depunctured data block version received or the depunctured and combined data block version) ever needs to be stored for each undecodable data block. However, a drawback is that this method does not always deliver optimum decoding results and also—particularly in the case of heavy puncturing—has a relatively large memory space requirement. In particular, versions are combined which may have experienced extremely different propagation conditions, which means that the combined version can be decoded to a poorer extent in border cases than the version which manages without combination with extremely poorly transmitted versions. In addition, in a manner which is arithmetically dependent on the combination (when numbers are added the word length of the binary representation increases), a longer word length needs to be made available to the blocks which are to be stored.